spacer image


Technote 1086

Power Management & The Energy Saver API


ñ⁄éü

è»ÉGÉlÉãÉMÅ[ê›íËÇÃäTóv
è»ÉGÉlÉãÉMÅ[ê›íËÇ÷ÇÃÉAÉNÉZÉX
è»ÉGÉlÉãÉMÅ[ê›íË API
Å@Å@ESGlobals ç\ë¢ëÃ
Å@Å@ESLoadPreferences
Å@Å@ESGetPreferences
Å@Å@ESSetPreferences
Å@Å@ESRefreshSettings
Å@Å@ESSavePreferences
Å@Å@ESAddNoteProc
Å@Å@ESRemoveNoteProc
Å@Å@è»ÉGÉlÉãÉMÅ[ê›íËí ímä÷êî (Energy Saver Notification Function)
Å@Å@ESRestoreDefaults
Å@Å@ESGetUnsavedFolder
Å@Å@ESSetUnsavedFolder
Å@Å@ESGetINITVersion
óvñÒ

Macintosh ÉvÉâÉbÉgÉtÉHÅ[ÉÄÇ…ÉCÉìÉvÉäÉÅÉìÉgÇ≥ÇÍǃǢÇÈÇ≥NjǥNjǻè»ÉGÉlÉãÉMÅ[ÉnÅ[ÉhÉEÉFÉAÇ‚É\ÉtÉgÉEÉFÉAÇàÍä—ǵÇΩï˚ñ@Ç≈êßå‰Ç∑ÇÈÇΩÇflÅAApple Ç≈ÇÕÅAìùàÍìIÇ»è»ÉGÉlÉãÉMÅ[ê›íËÉVÉXÉeÉÄÇì±ì¸ÇµÇ‹Ç∑ÅB

ÉfÉBÉXÉvÉåÉCÇÃÉXÉäÅ[Év/à√ì]ÅAÉnÅ[ÉhÉfÉBÉXÉNÇÃâÒì]í‚é~ÅAÉAÉCÉhÉãéûÇÃÉVÉXÉeÉÄèIóπÇ‹ÇΩÇÕÉXÉäÅ[ÉvǻǫÅAêflìdÇêßå‰Ç∑ÇÈÇΩÇflÇÃïWèÄìIÇ»ï˚ñ@Ç…â¡Ç¶ÇƒÅAè»ÉGÉlÉãÉMÅ[ê›íË API ÇÕÅAè»ÉGÉlÉãÉMÅ[ã@î\Ç÷ÇÃÉAÉNÉZÉXÇïKóvÇΔÇ∑ÇÈï°êîÇÃÉAÉvÉäÉPÅ[ÉVÉáÉìÇ…ëŒÇµÇƒÅAÉqÉÖÅ[É}ÉìÉCÉìÉ^ÉtÉFÅ[ÉXÇìØä˙Ç≥ÇπÇÈÇΩÇflÇÃàÍä—ǵÇΩï˚ñ@ÇíÒãüǵNjÇ∑ÅB

DZÇà TECHNOTE Ç≈ÇÕÅAè»ÉGÉlÉãÉMÅ[ê›íË API ÇâÓǵǃ Macintosh ÇÃè»ÉGÉlÉãÉMÅ[ê›íËã@î\ägí£ÇΔÇÃä‘Ç≈ÉfÅ[É^ÇÇ‚ÇËéÊÇËÇ∑ÇÈï˚ñ@DžǬǢǃê‡ñæÇµÇ‹Ç∑ÅBDZÇÍÇÕÅAÉAÉvÉäÉPÅ[ÉVÉáÉìÇ©ÇÁ Mac OS ÇÃêflìdã@î\Ç…ÉAÉNÉZÉXǵÇÊǧÇΔÇ∑ÇÈÉfÉxÉçÉbÉpÇÃéQçlÇ…Ç»ÇÈÇÕÇ∏Ç≈Ç∑ÅB

Ç‹ÇΩÅADZÇà TECHNOTE Ç…ÇÕÅAè»ÉGÉlÉãÉMÅ[ê›íË API Ç…ëŒÇ∑ÇÈÉpÉuÉäÉbÉNÉCÉìÉ^ÉtÉFÅ[ÉXÇÃâê‡Ç‡ä‹Ç‹ÇÍǃǢNjÇ∑ÅB


è»ÉGÉlÉãÉMÅ[ê›íËÇÃäTóv
è»ÉGÉlÉãÉMÅ[ê›íËÇÕÅAMacintosh ÉvÉâÉbÉgÉtÉHÅ[ÉÄÇ…ÉCÉìÉvÉäÉÅÉìÉgÇ≥ÇÍǃǢÇÈÇ≥NjǥNjǻè»ÉGÉlÉãÉMÅ[ÉnÅ[ÉhÉEÉFÉAÇ‚É\ÉtÉgÉEÉFÉAÇêßå‰Ç∑ÇÈÇΩÇflÇÃàÍä—ǵÇΩï˚ñ@ÇíÒãüǵNjÇ∑ÅB

é¿ç€Ç…ÉTÉ|Å[ÉgÇ≥ÇÍÇÈã@î\ÇÕÉ}ÉVÉìÇÃê´î\Ç…ÇÊǡǃàŸÇ»ÇËÇ‹Ç∑Ç™ÅAí èÌÅAè»ÉGÉlÉãÉMÅ[ê›íËÇ≈ÇÕÅAéüÇÃÇÊǧǻï˚ñ@Ç≈ÉVÉXÉeÉÄÇÃìdóÕè¡îÔÇí·å∏Ç≥ÇπÇ‹Ç∑ÅB

  • ÉfÉBÉXÉvÉåÉCÇÃÉXÉäÅ[Év/à√ì] - ÉfÉBÉXÉvÉåÉCÉÇÉjÉ^Ç…ãüããÇ∑ÇÈìdóÕÇí·å∏Ç≥ÇπÇ‹Ç∑ÅB
  • ÉnÅ[ÉhÉfÉBÉXÉNÇÃâÒì]í‚é~ - ÉnÅ[ÉhÉfÉBÉXÉNÇÃÉÇÅ[É^Å[Çí‚é~ (ìdåπÇÉIÉtÇ…Ç∑ÇÈ) Ç∑ÇÈDZÇΔÇ…ÇÊǡǃè¡îÔìdóÕÇí·å∏Ç≥ÇπÇ‹Ç∑ÅB
  • ÉAÉCÉhÉãéûÇÃÉVÉXÉeÉÄèIóπ - çÏãΔíÜÇÃÉfÅ[É^Çè¡é∏Ç∑ÇÈDZÇΔÇ»Ç≠ÅAÉvÉçÉOÉâÉÄÇégǡǃÉRÉìÉsÉÖÅ[É^ÇÃìdåπÇÉIÉtDžǵNjÇ∑ÅB
  • ÉAÉCÉhÉãéûÇÃÉXÉäÅ[Év - ÉAÉCÉhÉãéûÇ…è»ìdóÕ (ÉXÉäÅ[Év) èÛë‘Ç…ì¸ÇËÇ‹Ç∑Ç™ÅAÉXÉäÅ[ÉvÇâèúÇ∑ÇÈÇΔÅAÇ∑njǂÇ≠å≥ÇÃèÛë‘Ç…ïúãAÇ≈Ç´Ç‹Ç∑ÅBǻǮÅAé¿ç€Ç…Ç«ÇÃÇÊǧǻÉXÉäÅ[ÉvèÛë‘Ç…ì¸ÇÈÇ©ÇÕÅAÉRÉìÉsÉÖÅ[É^Ç…ìãç⁄Ç≥ÇÍǃǢÇÈÉnÅ[ÉhÉEÉFÉAÇÃê´î\Ç…ÇÊǡǃàŸÇ»ÇËÇ‹Ç∑ÅB
  • ãNìÆ/ÉVÉXÉeÉÄèIóπÇÃó\íË - ãNìÆÇÃó\íËÇÕÅAdžÇÁÇ©Ç∂Çflê›íËǵÇΩéûçèÇ…ÉVÉXÉeÉÄÇçƒãNìÆÇ∑ÇÈÇΩÇflÇ…égǢNjÇ∑ÅBDZÇÃã@î\ÇÉVÉXÉeÉÄèIóπÇÃó\íËÅAèëófiÇÃé©ìÆï€ë∂ÅAÇ®ÇÊÇ—ÉuÉbÉNÉ}Å[ÉNã@î\ÇΔëgÇ›çáÇÌÇπǃégópÇ∑ÇÈÇΔÅAñ{éøìIÇ»à”ñ°Ç≈ÇÃè»ÉGÉlÉãÉMÅ[ã@î\ÇíÒãüÇ≈Ç´ÇÈÇæÇØÇ»Ç≠ÅAÉVÉXÉeÉÄÇçƒãNìÆÇµÇΩÇΔǴDžLJîÒèÌÇ…ï÷óòÇ≈Ç∑ÅB
  • èëófiÇÃé©ìÆï€ë∂ - DZÇÃã@î\Ç…ÇÊÇËÅAÉVÉXÉeÉÄèIóπéûÇ…ñºèÃñ¢ê›íËÇ‹ÇΩÇÕñ¢ï€ë∂ÇÃèëófiÇ™é©ìÆìIÇ…ï€ë∂Ç≥ÇÍÇÈÇÊǧDžǻÇËÇ‹Ç∑ÅBDZÇÃÇΔÇ´ÅAÉÜÅ[ÉUÅ[ÇÃëÄçÏÇ‹ÇΩÇÕämîFÇÕïKóvdžÇËÇ‹ÇπÇÒÅB
  • çêímÉTÉEÉìÉh - ÉVÉXÉeÉÄÇ™ÉXÉäÅ[ÉvÉÇÅ[ÉhÇ©ÇÁïúãAÇ∑ÇÈÇΔÇ´ÅAÉÜÅ[ÉUÇ™éwíËǵÇΩÉTÉEÉìÉhÇ™çƒê∂Ç≥ÇÍÇ‹Ç∑ÅBí èÌÅAÉÇÉjÉ^ÇÕà√ì]Ç≥ÇÍǃǢÇÈÇΩÇflÅAçêímÉTÉEÉìÉhÇ…ÇÊǡǃÅAÉÜÅ[ÉUÇÕÉVÉXÉeÉÄÇ™åªç›ÉAÉNÉeÉBÉuDžǻǡǃǢÇÈDZÇΔÇämîFÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB

ìÆçÏÇÃëÂïîï™ÇÕÅAMac OS Çà Power Manager Ç‹ÇΩÇÕÇ≥NjǥNjǻ Macintosh êflìdÉnÅ[ÉhÉEÉFÉAÇ…ÇÊǡǃèàóùÇ≥ÇÍÇ‹Ç∑Ç™ÅAè»ÉGÉlÉãÉMÅ[ê›íËÇÕÅAǢǬNjÇΩÇÕÇ«ÇÃÇÊǧǻï˚ñ@Ç≈ǪÇÍǺÇÍÇÃìÆçÏÇé¿çsÇ∑ÇÈÇ©ÇåàíËÇ∑ÇÈÇΩÇflÇÃÉÅÉJÉjÉYÉÄÇÉÜÅ[ÉUÇ…íÒãüǵNjÇ∑ÅB

Ç‹ÇΩÅAè»ÉGÉlÉãÉMÅ[ê›íË API ÇÕÅAè»ÉGÉlÉãÉMÅ[ã@î\Ç÷ÇÃÉAÉNÉZÉXÇïKóvÇΔÇ∑ÇÈï°êîÇÃÉAÉvÉäÉPÅ[ÉVÉáÉìÇ…ëŒÇµÇƒÅAÉqÉÖÅ[É}ÉìÉCÉìÉ^ÉtÉFÅ[ÉXÇìØä˙Ç≥ÇπÇÈÇΩÇflÇÃï˚ñ@ÇíÒãüǵNjÇ∑ÅB

è»ÉGÉlÉãÉMÅ[ê›íËÇÃÉRÉìÉ|Å[ÉlÉìÉg
è»ÉGÉlÉãÉMÅ[ê›íËÇÕÅAé¿ç€Ç…ÇÕÉVÉXÉeÉÄã@î\ägí£ÇΔÉRÉìÉgÉçÅ[ÉãÉpÉlÉãÇΔǢǧ 2 ǬÇÃìΔóßǵÇΩÉRÉìÉ|Å[ÉlÉìÉgÇ©ÇÁç\ê¨Ç≥ÇÍǃǢNjÇ∑ÅB

  • è»ÉGÉlÉãÉMÅ[ê›íËÉRÉìÉgÉçÅ[ÉãÉpÉlÉã - DZÇÃÉRÉìÉgÉçÅ[ÉãÉpÉlÉãÇÕÅAÉVÉXÉeÉÄÉÅÉÇÉäÇΔèâä˙ê›íËÉtÉ@ÉCÉãÇ…äiî[Ç≥ÇÍǃǢÇÈê›íËÇëÄçÏǵNjÇ∑ÅB
  • è»ÉGÉlÉãÉMÅ[ê›íËã@î\ägí£ - DZÇÃã@î\ägí£ÇÕÅAèâä˙ê›íËÉtÉ@ÉCÉãÇ…äiî[Ç≥ÇÍǃǢÇÈê›íËÇégǡǃÅAñ⁄ìIÇÃè»ÉGÉlÉãÉMÅ[ìÆçÏÇÃé¿çsÇéwóflǵNjÇ∑ÅB

ê} 1 Ç…ÇÕÅAè»ÉGÉlÉãÉMÅ[ê›íËÇÃäeÉRÉìÉ|Å[ÉlÉìÉgÇÃä÷åWÇé¶ÇµÇ‹Ç∑ÅB
Energy Saver
ê} 1Å@è»ÉGÉlÉãÉMÅ[ê›íËÇÃäTóv

íçà”:
è»ÉGÉlÉãÉMÅ[ê›íËÉRÉìÉgÉçÅ[ÉãÉpÉlÉãÇÕÅAé¿ç€Ç…ÇÕÉRÉìÉgÉçÅ[ÉãÉpÉlÉãèëófiÇ≈ÇÕdžÇËÇ‹ÇπÇÒÅBDZÇÍÇÕÅA'APPC' ÇΔǢǧì¡éÍÇ»ÉVÉOÉlÉ`ÉÉÇéùǬÉAÉvÉäÉPÅ[ÉVÉáÉìÇ≈ÅASystem 7.5.2 à»ç~Çà Finder Ç≈ÇÕÅAÉVÉXÉeÉÄÉtÉHÉãÉ_ÇÃè„Ç…ÉhÉçÉbÉvÇ∑ÇÈÇΔÅAé©ìÆìIÇ…ÅgÉRÉìÉgÉçÅ[ÉãÉpÉlÉãÅhÉtÉHÉãÉ_ÇÃíÜÇ…íuÇ©ÇÍÇ‹Ç∑ (ÉIÅ[ÉgÉãÅ[ÉgÇ≥ÇÍÇ‹Ç∑)ÅB

DZÇÃÉVÉOÉlÉ`ÉÉÇégǧÇΔÅAÉAÉvÉäÉPÅ[ÉVÉáÉìÇ≈džÇËǻǙÇÁÅAìØéûÇ… Finder ÇÃÉIÅ[ÉgÉãÅ[Égã@î\ÇóòópÇ≈Ç´ÇÈÉRÉìÉgÉçÅ[ÉãÉpÉlÉãÇäJî≠Ç∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB

è»ÉGÉlÉãÉMÅ[ê›íËÇ÷ÇÃÉAÉNÉZÉX
ÉAÉvÉäÉPÅ[ÉVÉáÉìLJÅAè»ÉGÉlÉãÉMÅ[ê›íËÉRÉìÉgÉçÅ[ÉãÉpÉlÉãÇΔìØólÇÃÉÅÉJÉjÉYÉÄÇégǡǃÅAè»ÉGÉlÉãÉMÅ[èâä˙ê›íËÉtÉ@ÉCÉãÇëÄçÏÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBDZÇÃèàóùÇÕÅAè»ÉGÉlÉãÉMÅ[ê›íË API ÇâÓǵǃé¿åªÇ≥ÇÍÇ‹Ç∑ÅBDZÇà API ÇÃñ⁄ìIÇÕÅAPower Manager Ç…ÇÊǡǃíÒãüÇ≥ÇÍǃǢǻǢçÇìxÇ»êflìdã@î\ÇAPIÇí Ç∂ǃÉTÉ|Å[ÉgÇ∑ÇÈDZÇΔÇΔÅAéùë±ìIÇ» PRAM ê›íËÇçsÇÌǻǢ Power Manager ä÷êîÇ…ëŒÇµÇƒïWèÄâªÇ≥ÇÍÇΩèâä˙ê›íËÉtÉ@ÉCÉãÇÃÉTÉ|Å[ÉgÇíÒãüÇ∑ÇÈDZÇΔDždžÇËÇ‹Ç∑ÅB

è»ÉGÉlÉãÉMÅ[ê›íËã@î\ägí£ÇÕÅAEgret Ç‹ÇΩÇÕ Cuda É}ÉCÉNÉçÉRÉìÉgÉçÅ[ÉâÇìãç⁄ǵÇΩÇ∑Ç◊ǃÇà Macintosh Ç…ëŒÇµÇƒé©ìÆìdåπÉIÉì/ÉIÉtã@î\ÇíÒãüǵNjÇ∑ÅBÇ‹ÇΩÅAÉfÉBÉXÉvÉåÉCÇÃà√ì]ÅAÉnÅ[ÉhÉfÉBÉXÉNÇÃâÒì]í‚é~ÅAÉXÉäÅ[ÉvÉÇÅ[ÉhÅAÇ®ÇÊǗDZÇÍÇÁÇ∑Ç◊ǃÇÃã@î\Ç≈égópÇ∑ÇÈÉIÉvÉVÉáÉìÇÃèâä˙ê›íËÇä«óùǵNjÇ∑ÅBèâä˙ê›íËÇÃéÊìæÇ®ÇÊÇ—ê›íËïœçXÇçsǧÇΩÇflÇÃåƒÇ—èoǵǂÅAìnÇ≥ÇÍÇΩèâä˙ê›íËÇ…ä‹Ç‹ÇÍÇÈê›íËì‡óeÇÉAÉNÉeÉBÉuÇ…Ç∑ÇÈÇΩÇflÇÃåƒÇ—èoǵǻǫǙópà”Ç≥ÇÍǃǢNjÇ∑ÅB

ÉAÉvÉäÉPÅ[ÉVÉáÉìÇÃÉfÉxÉçÉbÉpÇÕÅAìΔé©ÇÃã@î\Çç≈èâÇ©ÇÁçÏê¨Ç∑ÇÈÇÃÇ≈ÇÕÇ»Ç≠ÅAÇ≈Ç´ÇÈǩǨÇËDZÇÃè»ÉGÉlÉãÉMÅ[ê›íËã@î\ÇóòópÇ∑ÇÈÇÊǧDžǵǃÇ≠ÇæÇ≥Ç¢ (è≠Ç»Ç≠ÇΔLJèâä˙ê›íËÇÃçXêVDžǬǢǃÇÕ)ÅBǪǧÇ∑ÇÍÇŒÅAîCà”ÇÃÉAÉvÉäÉPÅ[ÉVÉáÉìÇ≈çsÇ¡ÇΩÉÜÅ[ÉUê›íËÇ™ëºÇÃÉAÉvÉäÉPÅ[ÉVÉáÉìÇ‚ÉRÉìÉgÉçÅ[ÉãÉpÉlÉãDžLJîΩâfÇ≥ÇÍÇÈÇÊǧDžǻÇËÇ‹Ç∑ÅB

è»ÉGÉlÉãÉMÅ[ê›íË API Ç™ÉTÉ|Å[ÉgÇ≥ÇÍǃǢÇÈǩǫǧǩÇÃîªíË
ì¡íËÇà Macintosh ÇÃÉÇÉfÉãÇ≈è»ÉGÉlÉãÉMÅ[ê›íË API Ç™ÉTÉ|Å[ÉgÇ≥ÇÍǃǢÇÈǩǫǧǩÇîªíËÇ∑ÇÈÇ…ÇÕÅAÉQÉVÉÖÉ^ÉãÉgä÷êîÇégǡǃ 'wnkl' ÉZÉåÉNÉ^ÇÉ`ÉFÉbÉNǵÅAñflÇËílÇ™ non-nil Ç≈džÇÈǩǫǧǩÇí≤Ç◊Ç‹Ç∑ÅBñflÇËílÇ™ non-nil Ç≈džÇÍÇŒÅAè»ÉGÉlÉãÉMÅ[ê›íË API ÇÕÉçÅ[ÉhÇ≥ÇÍǃǢNjÇ∑ÅB

è»ÉGÉlÉãÉMÅ[ê›íË API ÇÃåƒÇ—èoǵ
è»ÉGÉlÉãÉMÅ[ê›íËÉ}ÉlÅ[ÉWÉÉÇÃë∂ç›Ç™ämîFÇ≈Ç´ÇΩÇÁÅAÉQÉVÉÖÉ^ÉãÉgÉZÉåÉNÉ^ 'wnkl' ÇÃñflÇËílÇâÓǵǃÅAè»ÉGÉlÉãÉMÅ[ê›íË API Ç…ÉAÉNÉZÉXÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBDZÇÃñflÇËílÇÕÅAç≈èâÇÃÉtÉBÅ[ÉãÉhÇ™ÉÅÉCÉìÉãÅ[É`ÉìÇ÷ÇÃÉ|ÉCÉìÉ^ÇΔǻǡǃǢÇÈÉfÅ[É^ç\ë¢ëÃÇ÷ÇÃÉnÉìÉhÉãÇ≈Ç∑ÅBDZÇÃÉãÅ[É`ÉìÇ÷ÇÃÉCÉìÉ^ÉtÉFÅ[ÉXÇÕéüÇÃÇÊǧDžǻÇËÇ‹Ç∑ÅB
typedef pascal long (*ESRoutineCallPtr)(short selector, long parm1, long parm2);

ÉfÉxÉçÉbÉpÇÃï÷ãXÇçló∂ǵǃÅADZÇà TECHNOTE Ç…ÇÕ EnergyServPubLib.c Ç®ÇÊÇ— EnergyServPub.h ÉtÉ@ÉCÉãÇ™ìYïtÇ≥ÇÍǃǢNjÇ∑ÅBDZÇÍÇÁÇÃÉtÉ@ÉCÉãÇégǡǃÅAè»ÉGÉlÉãÉMÅ[ê›íË API Ç…ÉAÉNÉZÉXǵǃÇ≠ÇæÇ≥Ç¢ÅB

è»ÉGÉlÉãÉMÅ[ê›íË API Ç™ÉçÅ[ÉhÇ≥ÇÍǃǢǃégópâ¬î\Ç≈džÇÈǩǫǧǩÇîªíËÇ∑ÇÈÇ…ÇÕÅAEnergyServPubLib Ç©ÇÁ ESGetINITVersion ä÷êîÇåƒÇ—èoÇ∑DZÇΔÇÇ®ä©ÇflǵNjÇ∑ÅBÉCÉìÉ^ÉtÉFÅ[ÉXÉRÅ[ÉhÇÕÅAìKêÿÇ≈à¿ëSÇ»É`ÉFÉbÉNÇé¿çsǵNjÇ∑ÅB

è»ÉGÉlÉãÉMÅ[ê›íË API

ESGlobals ç\ë¢ëÃ
è»ÉGÉlÉãÉMÅ[ê›íËã@î\ägí£ÇÕÅAàÍòAÇÃèâä˙ê›íËÉOÉçÅ[ÉoÉãÇä«óùǵNjÇ∑ÅBDZÇÍÇÁÇÃÉOÉçÅ[ÉoÉãÇÕÅAéüÇÃÇÊǧǻ ESGlobals ç\ë¢ëÃÇ≈íËã`Ç≥ÇÍǃǢNjÇ∑ÅB

typedef struct {
    short version;                    // ÉfÅ[É^ç\ë¢ëà version (1)
    long EnergySaverFeatures;         // ES ã@î\ (Ç‹ÇæégópÇ≥ÇÍǃǢǻǢ)

    // ÉAÉCÉhÉãéûÇÃÉXÉäÅ[ÉvÇΔÉVÉXÉeÉÄèIóπÇÃÉ^ÉCÉ~ÉìÉO
    unsigned long dimIdleTime;       // ÉfÉBÉXÉvÉåÉCÇÃÉXÉäÅ[ÉvÇ‹Ç≈ÇÃéûä‘ (ï™íPà )
    unsigned long spinDownIdleTime;  // HD âÒì]í‚é~Ç‹Ç≈ÇÃéûä‘ (ï™íPà )
    //ÉfÉXÉNÉgÉbÉvÇÕ 30ï™à»è„Ç≈Ç»ÇØÇÍnjǻÇÁǻǢ
    unsigned long sleepIdleTime;     // ÉVÉXÉeÉÄÉXÉäÅ[ÉvÇ‹Ç≈ÇÃéûä‘ (ï™íPà )
    short idleFlags;                 // ÉTÉ|Å[ÉgÇ≥ÇÍǃǢÇÈÉAÉCÉhÉãéûÇÃã@î\
    // 0001 = dimIdleTime ÇóLå¯Ç…
    // 0002 = spinDownIdleTime ÇóLå¯Ç…
    // 0008 = ÉXÉäÅ[ÉvÇÃë„ÇÌÇËÇ…ÉVÉXÉeÉÄèIóπ
    // 0010 = HD ÇâÒì]í‚é~DžǵǻǢ
    // 0020 = ìdåπÇÉIÉtDžǵÇΩå„Ç≈çƒãNìÆ
    short reserved1;
    short reserved2;

    // ÉXÉäÅ[ÉvÇΔÉVÉXÉeÉÄèIóπÇÃÉXÉPÉWÉÖÅ[Éã
    // DZÇÍÇÁÇÕåflëO 0 éû (é¿ç€Ç…ÇÕ 12:00:01 AM) ÇãNì_ÇΔÇ∑ÇÈï™íPà ÇÃéûä‘ÅB
    // éüÇÃÉtÉBÅ[ÉãÉhÇÕÅAè»ÉGÉlÉãÉMÅ[ê›íËÉAÉvÉäÉPÅ[ÉVÉáÉì HI Ç…ÇÊǡǃÇÃÇ›égópÇ≥ÇÍÇÈÅB
    // ÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕÅASDxxxTime Ç®ÇÊÇ— SWUxxxTime ÉtÉBÅ[ÉãÉhÇégǡǃÅA
    // ÉVÉXÉeÉÄèIóπÇΔÉXÉäÅ[ÉvâèúÇÃéûçèÇèàóùÇ∑ÇÈïKóvǙdžÇÈÅB
    unsigned long mainWUTime; // ÉRÉìÉsÉÖÅ[É^Ç™ãNìÆÇ∑ÇÈéûçè
    unsigned long mainSDTime; // ÉRÉìÉsÉÖÅ[É^Ç™èIóπÇ∑ÇÈéûçè
    // ãNìÆÇ‹ÇΩÇÕÉVÉXÉeÉÄèIóπÇ™óLå¯Ç…Ç»ÇÈójì˙ÇéwíËÇ∑ÇÈÉrÉbÉgÉtÉBÅ[ÉãÉh
    short WUFields; // ãNìÆ
    short SDFields; // èIóπ
    
    // åéójì˙ = 0x0001
    // âŒójì˙ = 0x0002
    // êÖójì˙ = 0x0004
    // ñÿójì˙ = 0x0008
    // ã‡ójì˙ = 0x0010
    // ìyójì˙ = 0x0020
    // ì˙ójì˙ = 0x0040
    // ñàì˙ = 0x007F
    // óLå¯ = 0x0080
    
    // éüÇÃÉtÉBÅ[ÉãÉhÇ≈ÇÕÅAäeójì˙DžǬǢǃÅAãNìÆÇΔèIóπÇçsǧï°êîÇÃéûçèÇ
    // éwíËÇ≈Ç´ÇÈÅBì¡íËÇÃójì˙ÇëŒè€Ç…ï°êîÇÃó\íËÇê›íËÇ∑ÇÈïKóvǙǻǢèÍçáÇÕÅA
    // Ç∑Ç◊ǃÇà WU ÉtÉBÅ[ÉãÉhÇ mainWUTime Ç…ê›íËǵÅAÇ∑Ç◊ǃÇà SD ÉtÉBÅ[ÉãÉhÇ
    // mainSDTime Ç…ê›íËÇ∑ÇÈÅB

    // èIóπéûçè
    unsigned long SDMonTime;
    unsigned long SDTueTime;
    unsigned long SDWedTime;
    unsigned long SDThuTime;
    unsigned long SDFriTime;
    unsigned long SDSatTime;
    unsigned long SDSunTime;

    // ãNìÆéûçè
    unsigned long WUMonTime;
    unsigned long WUTueTime;
    unsigned long WUWedTime;
    unsigned long WUThuTime;
    unsigned long WUFriTime;
    unsigned long WUSatTime;
    unsigned long WUSunTime;

    // ÉXÉäÅ[Évèâä˙ê›íËèÓïÒ
    short reserved3;
    short WUSoundResID; // ÉXÉäÅ[ÉvÇâèúÇ∑ÇÈÇΔÇ´Ç…çƒê∂Ç∑ÇÈ 'snd ' Çà ID
    short reserved4;

    // ÉVÉXÉeÉÄãNìÆèâä˙ê›íËèÓïÒ
    short reserved5;
    short AppFlags;           // èÌÇ…êVǵǢèâä˙ê›íËÉtÉ@ÉCÉãÇ… 0 Çê›íËÇ∑ÇÈ
    short NonComplianceFlag;  // É}ÉVÉìÇÃÉXÉäÅ[ÉvéûÇ… 30W à»è„Ç™è¡îÔÇ≥ÇÍÇÈèÍçáÇ…ÉZÉbÉg
    

    // ÉVÉXÉeÉÄèIóπèâä˙ê›íËèÓïÒ
    short SDIdleTime;
    short SDNotifyFlags; // çêímÉIÉvÉVÉáÉì
    // 0020 = ÉVÉXÉeÉÄèIóπéûÇ…çêím
    // 0001 = ÉAÉCÉRÉìÇÃì_ñ≈
    // 0002 = ÉeÉLÉXÉgÉÅÉbÉZÅ[ÉWÇï\é¶
    // 0004 = ÉTÉEÉìÉhÇÃçƒê∂
    // 0008 = ÉtÉ@ÉCÉãÇÃï€ë∂
    // 8008 = ÉXÉäÅ[ÉvéûÇ…ï€ë∂ǵǻǢ
    // 0400 = ÉXÉäÅ[ÉvâèúéûÇ…çêímÉTÉEÉìÉhÇçƒê∂
    // 0800 = ìdòbÇÃêMçÜåüèoéûÇ…ÉXÉäÅ[Évâèú
    // 1000 = ìdåπÉâÉCÉgÇÃì_ñ≈ (É|Å[É^ÉuÉãÉÇÉfÉã)
    // 2000 = ÉXÉäÅ[ÉvéûÇ…è¡âπ
    
    short SDNotifyDelayTime;
    short SDSoundResID; // ÉVÉXÉeÉÄèIóπéûÇ…çƒê∂Ç∑ÇÈ 'snd ' Çà ID
    short reserved6;
    short reserved7;

    // è»ÉGÉlÉãÉMÅ[àÍî èâä˙ê›íËèÓïÒ
    long reserved8;
    Boolean reserved9;
} ESGlobals, *ESGlobalsPtr, **ESGlobalsHand;


ESLoadPreferences
ESLoadPreferences ÇÕÅAèâä˙ê›íËÉtÉ@ÉCÉãÇ©ÇÁåªç›ÇÃê›íËÇçƒÉçÅ[ÉhǵÅAè»ÉGÉlÉãÉMÅ[ê›íËÉOÉçÅ[ÉoÉãÇçXêVǵNjÇ∑ÅBÇ‹ÇΩÅAÉAÉvÉäÉPÅ[ÉVÉáÉìÇ≈égópÇ∑ÇÈÇΩÇflÇ…ê›íËÇÃÉRÉsÅ[Çï‘ǵNjÇ∑ÅB

PROTOTYPE

    OSErr ESLoadPreferences(ESGlobalsPtr thePrefs);

    thePrefs    ESGlobals ç\ë¢ëÃÇ÷ÇÃÉ|ÉCÉìÉ^ÅB
RESULT CODE
    File Read ErrorsÅAMemory ErrorsÅAES Errors

íçà”
DZÇÍÇÕÉVÉXÉeÉÄãNìÆéûÇ…è»ÉGÉlÉãÉMÅ[ê›íËã@î\ägí£Ç…ÇÊǡǃåƒÇ—èoÇ≥ÇÍÇ‹Ç∑ÅBê›íËílÇï€ë∂Ç≥ÇÍǃǢÇÈèâä˙ê›íËÇ…ñflǪǧÇΔÇ∑ÇÈèÍçáà»äOÇÕÅAÉAÉvÉäÉPÅ[ÉVÉáÉìÇ©ÇÁDZÇÃåƒÇ—èoǵÇçsÇÌǻǢÇ≈Ç≠ÇæÇ≥Ç¢ÅB

ESLoadPreferences ÇÕÉ}ÉVÉìÇÃÉXÉeÅ[É^ÉXÇçXêVǵNjÇπÇÒÅBê›íËílÇóLå¯Ç…Ç∑ÇÈÇ…ÇÕÅADZÇÃåƒÇ—èoǵÇçsÇ¡ÇΩå„Ç≈ ESRefreshSettings() ÇåƒÇ—èoÇ∑ïKóvǙdžÇËÇ‹Ç∑ÅB


ESGetPreferences
ESGetPreferences ÇÕÅAÉAÉvÉäÉPÅ[ÉVÉáÉìÇ≈égópÇ∑ÇÈÇΩÇflÇ…åªç›ÇÃê›íËÇÃÉRÉsÅ[Çï‘ǵNjÇ∑ÅBÉAÉvÉäÉPÅ[ÉVÉáÉìÇ©ÇÁÅAÇ∑Ç◊ǃÇÃè»ÉGÉlÉãÉMÅ[ê›íËèÓïÒÇ…ëŒÇ∑ÇÈåªç›ÇÃÉÜÅ[ÉUê›íËílÇéÊìæÇ∑ÇÈÇ…ÇÕÅAí èÌDZÇÃåƒÇ—èoǵÇégǢNjÇ∑ÅB

PROTOTYPE
    OSErr ESGetPreferences(ESGlobalsPtr thePrefs);

    thePrefs    ESGlobals ç\ë¢ëÃÇ÷ÇÃÉ|ÉCÉìÉ^ÅB
RESULT CODE
    Memory ErrorsÅAES Errors

ESSetPreferences
ESSetPreferences ÇÕÅAè»ÉGÉlÉãÉMÅ[ê›íËÉOÉçÅ[ÉoÉãÇ…ìnÇ≥ÇÍÇÈê›íËÇÉRÉsÅ[ǵNjÇ∑ÅB

PROTOTYPE
    OSErr ESSetPreferences(ESGlobalsPtr thePrefs);

    thePrefs    ESGlobals ç\ë¢ëÃÇ÷ÇÃÉ|ÉCÉìÉ^ÅB
RESULT CODE
    Memory ErrorsÅAES Errors

íçà”
ESSetPreferences ÇÕÅAPower Manager ÇåƒÇ—èoǵǃê›íËÇóLå¯Ç…Ç∑ÇÈÇÌÇØÇ≈ÇÕdžÇËÇ‹ÇπÇÒÅBÇ‹ÇΩÅAêVǵǢãNìÆÇ‚èIóπÇÃéûçèÇê›íËÇ∑ÇÈDZÇΔLJdžÇËÇ‹ÇπÇÒÅBDZÇÍÇåƒÇ—èoǵÇΩå„Ç≈ÅAESRefreshSettings() ÇåƒÇ—èoǵÅAêVǵǢê›íËÇóLå¯Ç…Ç∑ÇÈïKóvǙdžÇËÇ‹Ç∑ÅB


ESRefreshSettings
ESRefreshSettings ÇÕÅAåªç›ÇÃê›íËÇÉAÉNÉeÉBÉuDžǵÅAǪÇÃÇΩÇflÇ…ïKóvÇ»Ç∑Ç◊ǃÇà Power Manager åƒÇ—èoǵÇé¿çsǵNjÇ∑ÅBÇ‹ÇΩÅAåªç›ÇÃçêímê›íËÇé¿çsÇ∑ÇÈÇΩÇflÇ…ãNìÆÇ®ÇÊÇ—èIóπÉ^ÉXÉNÇ≈ïKóvÇΔÇ»ÇÈLJÇÃÇÇ∑Ç◊ǃÉCÉìÉXÉgÅ[ÉãǵNjÇ∑ÅB

PROTOTYPE
    OSErr ESRefreshSettings();
RESULT CODE
    ES Errors

ESSavePreferences
ESSavePreferences ÇÕ 3 ǬÇÃèàóùÇé¿çsǵNjÇ∑ÅBÇ‹Ç∏ÅAESSetPreferences() ÇåƒÇ—èoǵǃÅAìnÇ≥ÇÍÇΩê›íËÇì]ëóǵNjÇ∑ÅBÇ≥ÇÁÇ…ÅAESRefreshSettings() ÇåƒÇ—èoǵǃÅAǪÇÍÇÁÇÃê›íËÇÉAÉNÉeÉBÉuDžǵNjÇ∑ÅBç≈å„Ç…ÅAǪÇÍÇÁÇÃê›íËÇèâä˙ê›íËÉtÉ@ÉCÉãÇ…ï€ë∂ǵÅAÉuÅ[ÉgÇåJÇËï‘ǵǃLJǪÇÍÇÁÇÃê›íËÇ™ï€éùÇ≥ÇÍÇÈÇÊǧDžǵNjÇ∑ÅBÉAÉvÉäÉPÅ[ÉVÉáÉìÇ©ÇÁè»ÉGÉlÉãÉMÅ[ê›íËÇ…éùë±ìIÇ»çXêVÇâ¡Ç¶ÇÈÇ…ÇÕÅAí èÌDZÇÃåƒÇ—èoǵÇégǢNjÇ∑ÅB

PROTOTYPE
    OSErr ESSavePreferences(ESGlobalsPtr thePrefs);

    thePrefs    ESGlobals ç\ë¢ëÃÇ÷ÇÃÉ|ÉCÉìÉ^ÅB
RESULT CODE
    File ErrorsÅAMemory ErrorsÅAES Errors

íçà”
ESGlobals ÉåÉRÅ[ÉhÇà WUSoundResID Ç‹ÇΩÇÕ SDSoundResID ÉtÉBÅ[ÉãÉhÇ≈ snd ÉäÉ\Å[ÉXÇéwíËÇ∑ÇÈÇΔÇ´ÇÕÅAǪÇÍÇÁÇÃÉäÉ\Å[ÉXÇ™åªç›ÇÃÉäÉ\Å[ÉXÉ`ÉFÅ[Éìì‡Ç…ë∂ç›ÇµÇƒÇ¢ÇÈDZÇΔÇämîFǵǃÇ≠ÇæÇ≥Ç¢ÅBDZÇÃèàóùÇÕèdóvÇ≈Ç∑ÅBÇ»Ç∫Ç»ÇÁÅAESSavePreferences ÇÕDZÇÍÇÁÇÃÉäÉ\Å[ÉXÇÉVÉXÉeÉÄÉqÅ[Évì‡Ç…ÉçÅ[ÉhÅAÉfÉ^ÉbÉ`ÅAÇ®ÇÊÇ—ÉRÉsÅ[Ç∑ÇÈÇ©ÇÁÇ≈Ç∑ÅB


ESAddNoteProc
ESAddNoteProc ÇégǧÇΔÅAè»ÉGÉlÉãÉMÅ[ê›íËí ímâûìöÉvÉçÉVÅ[ÉWÉÉ (Energy Saver notification response procedure) ÇÉCÉìÉXÉgÅ[ÉãÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBDZÇà Notifier ÇÕÅAè»ÉGÉlÉãÉMÅ[èâä˙ê›íËÇ™ì«Ç›èëÇ´Ç≥ÇÍÇÈDZÇΔÇÉAÉvÉäÉPÅ[ÉVÉáÉìÇ…í ímÇ∑ÇÈÇΩÇflÇ…égǶNjÇ∑ÅB

PROTOTYPE
    OSErr ESAddNoteProc(ESNotifyProcPtr theProc, long data);
    
    theProc    í ímâûìöÉvÉçÉVÅ[ÉWÉÉÇ÷ÇÃÉ|ÉCÉìÉ^ÅB
    data       ÉfÅ[É^ÉvÉçÉVÅ[ÉWÉÉÇ…ìnÇ∑ÇΩÇflÇÃÉÜÅ[ÉUíËã`éQèΔÅB
RESULT CODE
    ES Errors
ä÷òAçÄñ⁄
è»ÉGÉlÉãÉMÅ[ê›íËí ímä÷êîÇΔ ESRemoveNoteProc ä÷êîÅB

ESRemoveNoteProc
ESRemoveNoteProc ÇégǧÇΔÅAè»ÉGÉlÉãÉMÅ[ê›íËí ímâûìöÉvÉçÉVÅ[ÉWÉÉ (Energy Saver notification response procedure) ÇçÌèúÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB

PROTOTYPE
    OSErr ESRemoveNoteProc(ESNotifyProcPtr theProc);

    theProc    í ímâûìöÉvÉçÉVÅ[ÉWÉÉÇ÷ÇÃÉ|ÉCÉìÉ^ÅB
RESULT CODE
    ES Errors
ä÷òAçÄñ⁄

è»ÉGÉlÉãÉMÅ[ê›íËí ímä÷êîÇΔ ESAddNoteProc ä÷êîÅB
è»ÉGÉlÉãÉMÅ[ê›íËí ímä÷êî (Energy Saver Notification Function)
ESAddNoteProc ä÷êîÇ…ÇÊǡǃÉCÉìÉXÉgÅ[ÉãÇçsǧÇΔÅAí ímÉvÉçÉVÅ[ÉWÉÉÇÕÅAÉAÉvÉäÉPÅ[ÉVÉáÉìÇ™è»ÉGÉlÉãÉMÅ[èâä˙ê›íËÇ…ÉAÉNÉZÉXǵÇÊǧÇΔÇ∑ÇÈÇΩÇ—Ç…åƒÇ—èoÇ≥ÇÍÇ‹Ç∑ÅB

DZÇà Notifier ÇÕÅAè»ÉGÉlÉãÉMÅ[èâä˙ê›íËÇ™ì«Ç›èoÇ≥ÇÍÅAǪÇÍÇ™ÉAÉvÉäÉPÅ[ÉVÉáÉìÇ…ï‘Ç≥ÇÍÇÈëOÇ…ÅAxNoteESDataReq ÉZÉåÉNÉ^ÇégǡǃåƒÇ—èoÇ≥ÇÍÇ‹Ç∑ÅB

Ç‹ÇΩÅAÇ¢Ç∏ÇÍÇ©ÇÃÉAÉvÉäÉPÅ[ÉVÉáÉìÇ™ xNoteNewESData ÉZÉåÉNÉ^Çégǡǃè»ÉGÉlÉãÉMÅ[ê›íËã@î\ägí£Ç…êVǵǢèâä˙ê›íËÇÉRÉsÅ[Ç∑ÇÈÇΔǴDžLJí ímÇ™çsÇÌÇÍÇ‹Ç∑ÅBDZÇÃÇΔÇ´ÅAÉOÉçÅ[ÉoÉãÇÉRÉsÅ[ǵÇΩÉfÅ[É^ÇïœçXÇ∑ÇÈDZÇΔÇÕÇ≈Ç´Ç‹Ç∑Ç™ÅAǪÇÍÇ™ìKópÇ≥ÇÍÇÈëOÇ…ïœçXÇçsǢNjÇ∑ÅB

DZÇÃä÷êîÇégǧÇΔÅAÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕ ESGlobals ÇÃï\é¶ÇìÆìIÇ…çXêVǵÇΩÇËÅAÉfÅ[É^ílÇÃÉtÉBÉãÉ^èàóùÇé¿çsÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB

PROTOTYPE
    pascal long MyESNotifyProc (short selector, ESGlobalsPtr theData);

    selector    î≠ê∂ǵÇΩìÆçÏÇÃÉ^ÉCÉvÇé¶Ç∑ílÅB
                DZÇÃÉtÉBÅ[ÉãÉhÇÃà”ñ°Ç…ǬǢǃÇÕÅAéüÇÃê‡ñæÇéQèΔǵǃÇ≠ÇæÇ≥Ç¢ÅB
    thePrefs    ESGlobals ç\ë¢ëÃÇ÷ÇÃÉ|ÉCÉìÉ^ÅB
ê‡ñæ
éüÇ…ÅAóLå¯Ç»ìÆçÏÇÃÉ^ÉCÉvÇé¶ÇµÇ‹Ç∑ÅB

ílñº íl ê‡ñæ
xNoteNewESData 1 êVǵǢ ESGlobals Ç™èëÇ´èoÇ≥ÇÍÇΩÅB
xNoteESDataReq 2 ESGlobals Ç™ÉäÉNÉGÉXÉgÇ≥ÇÍÇΩÅB


ESRestoreDefaults
ESRestoreDefaults ÇÕÅAÉVÉXÉeÉÄÇÃê›íËÇÅAã@î\ägí£ÇÃÉäÉ\Å[ÉXÉfÅ[É^Ç…äiî[Ç≥ÇÍǃǢÇÈÉ}ÉVÉìÇ…àÀë∂ǵÇΩÉfÉtÉHÉãÉgÇÃê›íËÇ…ñflÇ∑ÇΩÇflÇ…égǢNjÇ∑ÅBè»ÉGÉlÉãÉMÅ[ê›íËÇÉCÉìÉXÉgÅ[ÉãéûÇÃÉfÉtÉHÉãÉgÇÃê›íËÇ…ñflǵÇΩÇ¢ÇΔÇ´Ç…ÇÕÅADZÇÃåƒÇ—èoǵÇégǡǃÇ≠ÇæÇ≥Ç¢ÅB
Ç‹ÇΩÅAESGlobals ÇÃÉRÉsÅ[ÇéÊìæÇµÇƒÅAǪÇÍÇÁÇÃÉfÉtÉHÉãÉgÇÃì‡óeÇämîFÇ∑ÇÈDZÇΔLJÇ≈Ç´Ç‹Ç∑ÅBESGlobals ÇÃéÊìæÇÕÅAÉAÉvÉäÉPÅ[ÉVÉáÉìÇà HI ÇçXêVǵÅAåªç›ÇÃÉ}ÉVÉìÇÃÉXÉeÅ[É^ÉXÇîΩâfÇ≥ÇπÇÈÇΩÇflÇ…ñóßÇøÇ‹Ç∑ÅB
DZÇÃä÷êîÇÕÅAApple èÉê≥ÇÃÅgè»ó™ílÇ…ñflÇ∑ÅhÉRÉ}ÉìÉhÇ…ëŒâûÇ∑ÇÈã@î\Çé¿åªÇ∑ÇÈÇΩÇflÇ…égǧDZÇΔLJÇ≈Ç´Ç‹Ç∑ÅB

PROTOTYPE
    OSErr ESRestoreDefaults(ESGlobalsPtr thePrefs);

    thePrefs    ESGlobals ç\ë¢ëÃÇ÷ÇÃÉ|ÉCÉìÉ^ÅB
RESULT CODE
    Memory ErrorsÅAES Errors

ESGetUnsavedFolder
DZÇÃåƒÇ—èoǵÇÕÅAé©ìÆï€ë∂ã@î\Ç≈égópÇ∑ÇÈÅgñºèÃñ¢ê›íËèëófiÅhÇï€ë∂Ç∑ÇÈÉtÉHÉãÉ_Ç÷ÇÃÉpÉXñºÇéÊìæÇ∑ÇÈÇΩÇflÇ…égǢNjÇ∑ÅB

PROTOTYPE
    OSErr ESGetUnsavedFolder(Ptr theString);

    theString    ñºèÃñ¢ê›íËèëófiÇï€ë∂Ç∑ÇÈÉtÉHÉãÉ_ÇÃåªç›ÇÃÉpÉXñºÇ™ÉRÉsÅ[Ç≥ÇÍÇÈï∂éöóÒÇ÷ÇÃÉ|ÉCÉìÉ^ÅB
RESULT CODE
    Memory ErrorsÅAES Errors

ESSetUnsavedFolder
ESSetUnsavedFolder Ç≈ÇÕÅAé©ìÆï€ë∂ã@î\Ç≈égópÇ∑ÇÈñºèÃñ¢ê›íËèëófiÇï€ë∂Ç∑ÇÈÉtÉHÉãÉ_Ç÷ÇÃÉpÉXñºÇê›íËÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB

PROTOTYPE
    OSErr ESSetUnsavedFolder(Ptr theString);

    theString    égópÇ∑ÇÈñºèÃñ¢ê›íËèëófiÉtÉHÉãÉ_ÇÃÉpÉXñºÇä‹Çfiï∂éöóÒÇ÷ÇÃÉ|ÉCÉìÉ^ÅB
RESULT CODE
    Memory ErrorsÅAES Errors

ESGetINITVersion
DZÇÃåƒÇ—èoǵÇÕÅAÉCÉìÉXÉgÅ[ÉãÇ≥ÇÍǃǢÇÈè»ÉGÉlÉãÉMÅ[ê›íËã@î\ägí£ÉtÉ@ÉCÉãÇÃåªç›ÇÃÉoÅ[ÉWÉáÉìî‘çÜÇéÊìæÇ∑ÇÈÇΩÇflÇ…égǢNjÇ∑ÅBDZÇÃåƒÇ—èoǵÇÕÅAìKêÿÇ»ÉoÅ[ÉWÉáÉìÇÃè»ÉGÉlÉãÉMÅ[ã@î\ägí£ÇégópǵǃǢÇÈǩǫǧǩåüèÿÇ∑ÇÈÇΔÇ´Ç…égǢNjÇ∑ÅB

PROTOTYPE
    OSErr ESGetINITVersion(Handle* theVers);

    theVers    ÉoÅ[ÉWÉáÉìç\ë¢ëÃÇ÷ÇÃÉ|ÉCÉìÉ^ÅB
RESULT CODE
    ES Errors

óvñÒ
êiâªÇë±ÇØÇÈ Macintosh ÉvÉâÉbÉgÉtÉHÅ[ÉÄÇ≈ÅAè»ÉGÉlÉãÉMÅ[ê›íË API ÇÕêflìdã@î\ÇÃäƒéãÇΔêßå‰ÇçsǧÇΩÇflÇÃàÍä—ǵÇΩï˚ñ@ÇíÒãüǵNjÇ∑ÅBÇ≥ÇÁÇ…ÅAè»ÉGÉlÉãÉMÅ[ê›íË API ÇÕÅAÉTÅ[ÉhÉpÅ[ÉeÉBêªÇÃÉAÉvÉäÉPÅ[ÉVÉáÉìÇ…è»ÉGÉlÉãÉMÅ[ê›íËÇóòópÇ∑ÇÈÇΩÇflÇÃÉ`ÉÉÉìÉXÇó^ǶNjÇ∑ÅB

éQçlï∂å£
Inside Macintosh: Devices, Chapter 6, Power Manager Reference
Technote 1046: Inside Macintosh: Devices, Power Manager Addenda
Technote 1079: Power Management & Servers: Auto Restart From Power Failure

çXêVì˙: 1997 îN 3 åé 18 ì˙